/*
 ------------------------------------------------------------------------------
 Copyright (C) 2013 Eternal Games.

 This file is part of the EternalTech source code.

 The EternalTech source code is free software; you can redistribute it and/or
 modify it under the terms of the GNU General Public License as published by
 the Free Software Foundation; either version 2 of the License, or (at your
 option) any later version.

 The EternalTech source code is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
 or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
 more details.

 You should have received a copy of the GNU General Public License along with
 the EternalTech source code; if not, write to the Free Software Foundation, Inc.,
 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
 ------------------------------------------------------------------------------
*/


//
// anim_public.h - public header to all other files
//


#ifndef __ANIM_PUBLIC_H__
#define __ANIM_PUBLIC_H__


typedef struct animation_t			animation_t;
typedef struct animator_t			animator_t;

// Loads and registers the given animation
animation_t *	Anim_RegisterAnimation (const char *name);

// Allocates an animator
animator_t *	Anim_AllocAnimator ();

// Frees an animator
void			Anim_FreeAnimator (animator_t *animator);

// Initializes the animation subsystem
void			Anim_Init ();

// Shuts down the animation subsystem
void			Anim_Shutdown ();


#endif	//__ANIM_PUBLIC_H__